package com.qf.ssm.controller;


import com.qf.ssm.entity.PropertyGroup;
import com.qf.ssm.service.PropertyGroupService;
import com.qf.ssm.utils.ResponseResult;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;


@RestController
@RequestMapping("/PropertyGroup")
public class PropertyGroupController {
    @Resource
    PropertyGroupService propertyGroupService;

    /**
     * 当前页面默认展示的属性组条数---------------展示
     *测试通过，测试内容：
     * {空值}
     * @return
     */
    @GetMapping("/queryDefaultDisplay")
    private ResponseResult<List<PropertyGroup>> queryDefaultDisplay() {
        return ResponseResult.success(propertyGroupService.selectDefaultDisplay());
    }

    /**
     * 通过组名、属性名、状态查询属性组----------------展示
     *测试通过，测试内容：
     * {
     *   "pgId": 2,
     *   "pgName": "休闲装",
     *   "status": 1
     * }
     * @param pgId
     * @param pgName
     * @param status
     * @return
     */
    @GetMapping("/queryGroup")
    private ResponseResult<PropertyGroup> queryGroup(int pgId, String pgName, int status) {
        return ResponseResult.success(propertyGroupService.selectGroup(pgId, pgName, status));
    }

    /**
     * 禁用属性组-----------------展示
     * 测试通过，测试内容：
     * {
     *   "pmId": 1
     * }
     *
     */
    @PutMapping("/disableGroup")
    private ResponseResult<Integer> disableGroup(int pmId) {
        return ResponseResult.success(propertyGroupService.disable(pmId));
    }

    /**
     * 启用属性组------------------展示
     * 测试通过，测试内容：
     * {
     *   "pmId": 1
     * }
     */
    @PutMapping("/enableGroup")
    private ResponseResult<Integer> enableGroup(int pmId) {
        return ResponseResult.success(propertyGroupService.enable(pmId));
    }

    /**
     * 编辑属性组-----------------展示
     *测试通过，测试内容：
     * {
     *   "pgId": 4,
     *   "pgName": "dxx",
     *   "status": 1,
     *   "isDelete": 1
     * }
     *
     * @param propertyGroup
     * @return
     */
    @PutMapping("/editGroup")
    private ResponseResult<Integer> editGroup(@RequestBody PropertyGroup propertyGroup) {
        return ResponseResult.success(propertyGroupService.update(propertyGroup));
    }

    /**
     * 新建属性组-------------------展示
     *测试通过，测试内容：
     * {
     *   "pgName": "zxc",
     *   "status": 1,
     *   "isDelete": 1
     * }
     * @param propertyGroup
     * @return
     */
    @PostMapping("/newGroup")
    private ResponseResult<Integer> newGroup(@RequestBody PropertyGroup propertyGroup) {
        return ResponseResult.success(propertyGroupService.insert(propertyGroup));
    }

    /**
     * 伪删除属性组------------------展示
     *测试通过，测试内容
     * {
     *   "pgId": 5
     * }
     * @param pgId
     * @return
     */
    @PutMapping("/deleteGroup")
    private ResponseResult<Integer> deleteGroup(int pgId) {
        return ResponseResult.success(propertyGroupService.delete(pgId));
    }

}
